import block
複数リソースをまとめてインポート可能
メリット
CICD で扱いやすい
インポート前に Plan で結果を確認できる
冪等
記録として残せる
流れ
1. import block を書く
2. 対応する resource ブロックを書く
3. terraform plan で確認
差分を確認できる
4. terraform apply でインポート
基本構文
code:hcl(rb)
import {
to = aws_instance.example # どのリソースとして管理するか
id = "i-abcd1234" # 実際のリソースの ID
}
resource "aws_instance" "example" {
name = "hashi"
# 他の設定
}
table:table
引数 説明
---------- -------------------------------------
to Terraform 上でのリソースアドレス(どのリソースとして管理するか)
id 実際のリソースの ID(プロバイダーのドキュメントで確認)
identity id の代わりに使えるキー指定のオブジェクト(リソースによる)
provider 複数プロバイダーを使う場合に指定
for_each による複数リソースをまとめてインポートできる
code:hcl(rb)
locals {
buckets = {
"staging" = "bucket1"
"prod" = "bucket2"
}
}
import {
for_each = local.buckets
id = each.value
}
resource "aws_s3_bucket" "this" {
for_each = local.buckets
}